package org.framework.edge.builder.docker;

import org.wu.framework.web.response.Result;

/**
 * docker 运行接口
 */
public interface DockerRuntime {


    /**
     * 登录仓库
     *
     * @param url      登录地址
     * @param password 登录密码
     * @param username 登录账号
     * @return
     */
    Result<?> loginRepository(String url, String username, String password);

    /**
     * tag
     *
     * @param imageOldName 旧的镜像
     * @param imageNewName 新的镜像
     * @return
     */
    Result<?> tag(String imageOldName, String imageNewName);

    /**
     * 拉取镜像
     *
     * @param imageName 镜像名称
     * @return
     */
    Result<?> pull(String imageName);

    /**
     * 推送镜像
     *
     * @param imageName 镜像名称
     * @return
     */
    Result<?> push(String imageName);

    /**
     * 删除镜像
     *
     * @param imageNames 镜像名称
     * @return
     */
    Result<?> rmi(String... imageNames);

}
